// pages/zaixiankecheng_gxq/zaixiankecheng_gxq.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    priceSort: 'desc', 
    isPriceSortVisible: false, // 控制下拉菜单显示
    selectedPriceRange: null,
    isPriceRangeMenuVisible: false,
    tempSelectedRange: null, // 临时存储选择的范围，点击确定后才生效
    priceRangeOptions: [
        { label: '免费', value: "free"},
        { label: '¥50以下', value:"0-50" },
        { label: '¥50 - 100', value: "50-100" },
        { label: '¥100 - 500', value: "100-500" },
        { label: '¥500 - 1000', value: "500-1000" },
        { label: '¥1000以上', value: "1000-inf" }
    ],
    // 过滤后的产品列表
    filteredProducts: [{ 
      title:'',
        duration:'',
        summary:'',
        images:'',
        videoUrl:'',
        benefits:'',
        notice:'',
        suitableFor:'',
        prePrice:null,
        currentPrice:null,
        views:'',//访问量
    } 
    ], 
    products: [
        {
          id:null,
          title:'',
          duration:'',
          summary:'',
          images:'',
          videoUrl:'',
          benefits:'',
          notice:'',
          suitableFor:'',
          prePrice:null,
          currentPrice:null,
          views:'',//访问量
      }
    ],
  },
  // const product = event.currentTarget.dataset.products;
    // console.log(product);
    // if (!product?.title) {
    //   console.error('无效的课程数据:', product);
    //   return;
    // }
  change(event) {
    const item=event.currentTarget.dataset.product;
    console.log(item);
    if(!item?.title){
      console.error('无效的课程数据:', item);
      return;
    }
    wx.navigateTo({
      url: `/pages/clazzDetials/clazzDetails?id=${encodeURIComponent(item.id)}&title=${encodeURIComponent(item.title)}&images=${encodeURIComponent(item.images)}&summary=${encodeURIComponent(item.summary)}&videoUrl=${encodeURIComponent(item.videoUrl)}&benefits=${encodeURIComponent(item.benefits)}&notice=${encodeURIComponent(item.notice)}&suitableFor=${encodeURIComponent(item. suitableFor)}&prePrice=${encodeURIComponent(item.prePrice)}&currentPrice=${encodeURIComponent(item. currentPrice)}&consultantId=${encodeURIComponent(item.consultantId)}`,
      fail: (err) => {
        console.error('跳转失败:', err); // 捕获跳转错误
      }
    })
  },
  // 切换价格排序下拉菜单的显示状态
  togglePriceSort: function() {
    this.setData({
        isPriceRangeMenuVisible: false,
      isPriceSortVisible: !this.data.isPriceSortVisible
    });
  },

  // 处理价格排序
  handlePriceSort: function(e) {
    const sort = e.currentTarget.dataset.sort;
    this.setData({
      priceSort: sort,
      isPriceSortVisible: false // 选择后隐藏下拉菜单
    });
    this.sortProducts(sort);
  },

  // 根据排序方式对产品进行排序
  sortProducts: function(sort) {
 // 获取需要排序的数据源
//  const sourceArray = this.data.filteredProducts 
//  ? [...this.data.filteredProducts] 
//  : [...this.data.products];       
const sourceArray=[...this.data.filteredProducts];
 // 执行排序
 sourceArray.sort((a, b) => {
   const priceA = this.parsePrice(a.currentPrice);
   const priceB = this.parsePrice(b.currentPrice);
   return sort === 'asc' ? priceA - priceB : priceB - priceA;
 });

 // 更新状态
 this.setData({
   filteredProducts: sourceArray // 始终更新筛选后的数据
 });

  },
 // 切换价格区间菜单的显示状态
 togglePriceRangeMenu: function() {
    this.setData({
        isPriceSortVisible: false,
      isPriceRangeMenuVisible: !this.data.isPriceRangeMenuVisible,
      tempSelectedRange: this.data.selectedPriceRange // 每次打开菜单时重置临时选择
    });
  },

  // 选择价格区间
  selectPriceRange: function(e) {
    const range = e.currentTarget.dataset.range;
    this.setData({
        tempSelectedRange: range
    });
  },

  // 确认价格区间筛选
  confirmPriceRange: function() {
    this.setData({
        selectedPriceRange: this.data.tempSelectedRange,
        isPriceRangeMenuVisible: false
      }, () => {
        this.filterProductsByPrice();
        console.log('当前筛选条件:', this.data.selectedPriceRange); // 调试日志
      });
  },

 // 过滤函数
filterProductsByPrice: function() {
    const { selectedPriceRange, products, priceSort } = this.data;
    
    // 使用原始数据源进行筛选
    let filtered = [...products];  // 始终基于原始数据
  
    // 价格区间筛选
    if (selectedPriceRange === "free") {
      filtered = filtered.filter(p => this.parsePrice(p.currentPrice) === 0);
    } else if (selectedPriceRange) {
      const [minStr, maxStr] = selectedPriceRange.split('-');
      const min = parseFloat(minStr);
      const max = maxStr === 'inf' ? Infinity : parseFloat(maxStr);
      
      filtered = filtered.filter(p => {
        const price = this.parsePrice(p.currentPrice);
        return price >= min && (max === Infinity ? true : price <= max);
      });
    }
  
    // 应用当前排序状态
    if (priceSort) {
      filtered.sort((a, b) => {
        const priceA = this.parsePrice(a.currentPrice);
        const priceB = this.parsePrice(b.currentPrice);
        return priceSort === 'asc' ? priceA - priceB : priceB - priceA;
      });
    }
  
    this.setData({ filteredProducts: filtered });
    console.log(this.data.filteredProducts);
  },
  

// 价格解析方法
parsePrice: function(price) {
    // 处理含¥符号的情况："¥188" → 188
    return parseFloat(String(price).replace(/[^0-9.]/g, '')) || 0;
  },

  
  onClickLeft() {
    wx.navigateBack();
  },
  goToZhiHui() {
     // 执行跳转（示例：保留当前页面，跳转到目标页面）
     wx.navigateTo({
       url: "/pages/zhihuishenghuo_gxq/zhihuishenghuo_gxq"
     });
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    wx.request({
      url: 'http://localhost:8080/course',
      method:'GET',
      header:{
        'content-type':'application/json'
      },
      success: (res)=>{
        this.setData({
            products:res.data.data.rows,
            filteredProducts:res.data.data.rows
        })
         console.log(this.data.products);
         console.log(this.data.filteredProducts);
      },
    
    })
   
    // const initialProducts = [{
    //     title: this.data.products.title,
    //     price: this.data.products.currentPrice,
    //     desc: this.data.products.summary,
    //     thumb: this.data.products.images,
    //   },
    //  ]; 
    this.setData({
      // products: initialProducts,
      products:this.data.products,
      // filteredProducts: initialProducts // 初始显示全部课程
      filteredProducts:this.data.filteredProducts
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})